/*
 Copyright (C) 2008  Maurizio Monticelli

 This program is free software; you can redistribute it and/or modify it under the terms of the 
 GNU General Public License as published by the Free Software Foundation; either version 2 of the 
 License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
 even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 
 Public License for more details.

 You should have received a copy of the GNU General Public License along with this program; if not, write 
 to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 
*/

package ch.justdoit.andriodrpncalc.view.buttons;

import android.content.Context;
import android.view.View;
import ch.justdoit.andriodrpncalc.model.Model;
import ch.justdoit.andriodrpncalc.model.command.*;

public class ButtonCommand extends BaseButton {


	private ICommand mCommand;
	private boolean mEnterPrompt = true;

	public ButtonCommand(Context context, Model _model, ICommand command) {
		super(context, _model);
		mCommand = command;
		setText(mCommand.getCommandName());
		setTextSize( (float)(0.35 * HEIGHT));
		setOnClickListener(onClickListener);
	}

	public ButtonCommand(Context context, Model _model, ICommand command, boolean enterPrompt) {
		this(context, _model, command);
		mEnterPrompt = enterPrompt;
		
	}

	private OnClickListener onClickListener = new OnClickListener()
    {
        public void onClick(View v)
        {
        	if (mModel.mSettings.isExpressionMode()) {
        		mModel.setErrorMessage("");
        		mModel.appendExpression(mCommand.getExpression());
        	} else {
        		if (mEnterPrompt) mModel.enterPromptNumber();
        		mModel.mCommandManager.submit(mCommand.createNewInstance());
        	}
        }
    };
}
